package cn.com.nes.mybatis.agent.ope.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

/**
 * <p>
 * 功能详情表
 * </p>
 *
 * @author nes
 * @since 2023-03-07
 */
@TableName("is_equipment_function_detail_info")
public class IsEquipmentFunctionDetailInfo extends Model<IsEquipmentFunctionDetailInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 自增id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 详情id
     */
    @TableField("detail_id")
    private String detailId;
    /**
     * 厂商id
     */
    @TableField("manufacture_id")
    private String manufactureId;
    /**
     * 控制指令id
     */
    @TableField("control_command_id")
    private String controlCommandId;
    /**
     * 协议id
     */
    @TableField("protocol_id")
    private String protocolId;
    /**
     * 功能字典code
     */
    @TableField("function_code")
    private String functionCode;
    /**
     * 功能code
     */
    private String code;
    /**
     * 功能名称
     */
    private String name;
    /**
     * 上限
     */
    @TableField("up_limit")
    private BigDecimal upLimit;
    /**
     * 下限
     */
    @TableField("low_limit")
    private BigDecimal lowLimit;
    /**
     * 功能值
     */
    private BigDecimal value;
    /**
     * 功能字典类型
     */
    @TableField("function_type")
    private String functionType;
    /**
     * 是否删除:1:表示删除，0:表示未删除
     */
    private Integer sfsc;
    /**
     * 创建时间
     */
    private Date cjsj;
    /**
     * 修改时间
     */
    private Date xgsj;
    /**
     * 数据来源
     */
    private String sjly;
    /**
     * 设备id
     */
    @TableField("sb_id")
    private String sbId;
    /**
     * 控制对应的采集值
     */
    @TableField(value = "relate_value")
    private String relateValue;
    /**
     * 计量单位
     */
    @TableField("unit_value")
    private String unitValue;
    /**
     * 分组
     */
    @TableField("group_name")
    private String groupName;
    /**
     * 模式对应数据项的设定温度数据项id
     */
    @TableField("model_to_sdwd")
    private String modelToSdwd;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDetailId() {
        return detailId;
    }

    public void setDetailId(String detailId) {
        this.detailId = detailId;
    }

    public String getManufactureId() {
        return manufactureId;
    }

    public void setManufactureId(String manufactureId) {
        this.manufactureId = manufactureId;
    }

    public String getControlCommandId() {
        return controlCommandId;
    }

    public void setControlCommandId(String controlCommandId) {
        this.controlCommandId = controlCommandId;
    }

    public String getProtocolId() {
        return protocolId;
    }

    public void setProtocolId(String protocolId) {
        this.protocolId = protocolId;
    }

    public String getFunctionCode() {
        return functionCode;
    }

    public void setFunctionCode(String functionCode) {
        this.functionCode = functionCode;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public BigDecimal getUpLimit() {
        return upLimit;
    }

    public void setUpLimit(BigDecimal upLimit) {
        this.upLimit = upLimit;
    }

    public BigDecimal getLowLimit() {
        return lowLimit;
    }

    public void setLowLimit(BigDecimal lowLimit) {
        this.lowLimit = lowLimit;
    }

    public BigDecimal getValue() {
        return value;
    }

    public void setValue(BigDecimal value) {
        this.value = value;
    }

    public String getFunctionType() {
        return functionType;
    }

    public void setFunctionType(String functionType) {
        this.functionType = functionType;
    }

    public Integer getSfsc() {
        return sfsc;
    }

    public void setSfsc(Integer sfsc) {
        this.sfsc = sfsc;
    }

    public Date getCjsj() {
        return cjsj;
    }

    public void setCjsj(Date cjsj) {
        this.cjsj = cjsj;
    }

    public Date getXgsj() {
        return xgsj;
    }

    public void setXgsj(Date xgsj) {
        this.xgsj = xgsj;
    }

    public String getSjly() {
        return sjly;
    }

    public void setSjly(String sjly) {
        this.sjly = sjly;
    }

    public String getSbId() {
        return sbId;
    }

    public void setSbId(String sbId) {
        this.sbId = sbId;
    }

    public String getRelateValue() {
        return relateValue;
    }

    public void setRelateValue(String relateValue) {
        this.relateValue = relateValue;
    }

    public String getUnitValue() {
        return unitValue;
    }

    public void setUnitValue(String unitValue) {
        this.unitValue = unitValue;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getModelToSdwd() {
        return modelToSdwd;
    }

    public void setModelToSdwd(String modelToSdwd) {
        this.modelToSdwd = modelToSdwd;
    }

    public static final String ID = "id";

    public static final String DETAIL_ID = "detail_id";

    public static final String MANUFACTURE_ID = "manufacture_id";

    public static final String CONTROL_COMMAND_ID = "control_command_id";

    public static final String PROTOCOL_ID = "protocol_id";

    public static final String FUNCTION_CODE = "function_code";

    public static final String CODE = "code";

    public static final String NAME = "name";

    public static final String UP_LIMIT = "up_limit";

    public static final String LOW_LIMIT = "low_limit";

    public static final String VALUE = "value";

    public static final String FUNCTION_TYPE = "function_type";

    public static final String SFSC = "sfsc";

    public static final String CJSJ = "cjsj";

    public static final String XGSJ = "xgsj";

    public static final String SJLY = "sjly";

    public static final String SB_ID = "sb_id";

    public static final String RELATE_VALUE = "relate_value";

    public static final String UNIT_VALUE = "unit_value";

    public static final String GROUP_NAME = "group_name";

    public static final String MODEL_TO_SDWD = "model_to_sdwd";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "IsEquipmentFunctionDetailInfo{" +
        ", id=" + id +
        ", detailId=" + detailId +
        ", manufactureId=" + manufactureId +
        ", controlCommandId=" + controlCommandId +
        ", protocolId=" + protocolId +
        ", functionCode=" + functionCode +
        ", code=" + code +
        ", name=" + name +
        ", upLimit=" + upLimit +
        ", lowLimit=" + lowLimit +
        ", value=" + value +
        ", functionType=" + functionType +
        ", sfsc=" + sfsc +
        ", cjsj=" + cjsj +
        ", xgsj=" + xgsj +
        ", sjly=" + sjly +
        ", sbId=" + sbId +
        ", relateValue=" + relateValue +
        ", unitValue=" + unitValue +
        ", groupName=" + groupName +
        ", modelToSdwd=" + modelToSdwd +
        "}";
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(this.detailId);
    }
}
